package com.hhc.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 文件上传请求参数 DTO
 *
 * @author pc
 */
@Data
public class FileUploadDTO {

    /**
     * 原始文件名
     */
    @NotBlank(message = "原始文件名不能为空")
    private String originalName;

    /**
     * 存储路径
     */
    @NotBlank(message = "存储路径不能为空")
    private String storagePath;

    /**
     * 文件大小（字节）
     */
    @NotNull(message = "文件大小不能为空")
    private Long fileSize;

    /**
     * MIME类型
     */
    @NotBlank(message = "MIME类型不能为空")
    private String mimeType;

    /**
     * 上传者ID
     */
    @NotNull(message = "上传者ID不能为空")
    private Long uploadUserId;

    /**
     * 分类（如：教材、作业、课件等）
     */
    @NotBlank(message = "分类不能为空")
    private String category;

    /**
     * 文件描述
     */
    private String description;
}